package com.edt.ichannel.api.service;

import com.edt.ichannel.api.entiy.local.OrderCredit;

import java.util.List;

public interface OrderCreditService {

    /**
     * 批量添加首充订单
     * @param orderCredits
     *             手动订单集合
     * @author 孙梁
     * 2018/6/4 15:20
     */
    void saveOrderCreditList(List<OrderCredit> orderCredits);

    /**
     * 更新订单佣金发展奖金额
     * @param orderCredit 订单实体（包含新的佣金发展奖值）
     * @author 孙梁
     * 2018/6/4 15:21
     */
    @Deprecated
    void upadateOrderCteditMoney(OrderCredit orderCredit);

    /**
     * 根据批次号查询订单
     * @param batchCode 批次号 如果为null返回所有订单
     * @author 孙梁
     * 2018/6/4 15:21
     */
    @Deprecated
    List<OrderCredit> selectByBatch(String batchCode);

    /**
     * 根据订单号查询订单
     * @param orderCode 订单号
     * @author 孙梁
     * 2018/6/4 15:21
     */
    OrderCredit selectByOrderCode(String orderCode);

    /**
     * 批量更新首充时间（只更新首充时间）
     * @param orderCredits 需要更新的数据
     * @author 孙梁
     * 2018/6/4 15:21
     */
    void updateFirstDateList(List<OrderCredit> orderCredits);
    /**
     * 批量添加首充订单到临时表
     * @param orderCredits
     *             手动订单集合
     * @author 孙梁
     * 2018/6/4 15:20
     */


    /**
     * 更新首充表佣金
     * @param orderCredit
     *             计算佣金后的数据
     * @author 孙梁
     * 2018/6/13 11:01
     */
    void upadateOrderCteditCommissionMoney(OrderCredit orderCredit);

    /**
     * 更新首充表发展奖
     * @param orderCredit
     *             计算发展奖后的数据
     * @author 孙梁
     * 2018/6/13 11:01
     */
    void upadateOrderCteditBonusMoney(OrderCredit orderCredit);


    /**
     * 查询需要计算佣金的首充数据
     * @param batchCode
     *             批次号为空则查询所有
     * @return java.util.List<com.edt.ichannel.api.entiy.local.OrderCredit>
     *              结果集
     * @author 孙梁
     * 2018/6/13 11:17
     */
    List<OrderCredit> selectNeedComputCommission(String batchCode);

    /**
     * 查询需要发展奖的首充数据
     * @param batchCode
     *             批次号为空则查询所有
     * @return java.util.List<com.edt.ichannel.api.entiy.local.OrderCredit>
     *              结果集
     * @author 孙梁
     * 2018/6/13 11:17
     */
    List<OrderCredit> selectNeedComputBonus(String batchCode);


    void addCommissionMoney(String orderCode, Double commissionMoney);




}
